using System;
using System.ComponentModel.DataAnnotations;

namespace Boa.AIT.AccesoDatos.Entidades
{
 public partial class AIT_AsignarEquipoAlmacen
 {
     public AIT_AsignarEquipoAlmacen()
     {
     }
     #region foreign Keys

     public int AlmacenEmpresaId_FK {get;set;}
     private AIT_AlmacenEmpresa AlmacenEmpresaId_obj ;
     public virtual AIT_AlmacenEmpresa AlmacenEmpresa
      {
          get { return AlmacenEmpresaId_obj; }
          set {
                AlmacenEmpresaId_obj = value;
                if (AlmacenEmpresaId_obj != null) AlmacenEmpresaId_FK = AlmacenEmpresaId_obj.Id; 
          }
      }

     public int EquipoDisponibleId_FK {get;set;}
     private AIT_EquipoDisponible EquipoDisponibleId_obj ;
     public virtual AIT_EquipoDisponible EquipoDisponible
      {
          get { return EquipoDisponibleId_obj; }
          set {
                EquipoDisponibleId_obj = value;
                if (EquipoDisponibleId_obj != null) EquipoDisponibleId_FK = EquipoDisponibleId_obj.Id; 
          }
      }

     public int SolicitudEquipoId_FK {get;set;}
     private AIT_SolicitudEquipo SolicitudEquipoId_obj ;
     public virtual AIT_SolicitudEquipo SolicitudEquipo
      {
          get { return SolicitudEquipoId_obj; }
          set {
                SolicitudEquipoId_obj = value;
                if (SolicitudEquipoId_obj != null) SolicitudEquipoId_FK = SolicitudEquipoId_obj.Id; 
          }
      }

     public int TipoConfiguracionId_FK {get;set;}
     private AIT_TipoConfiguracion TipoConfiguracionId_obj ;
     public virtual AIT_TipoConfiguracion TipoConfiguracion
      {
          get { return TipoConfiguracionId_obj; }
          set {
                TipoConfiguracionId_obj = value;
                if (TipoConfiguracionId_obj != null) TipoConfiguracionId_FK = TipoConfiguracionId_obj.Id; 
          }
      }
     #endregion
     public virtual int   Id { get; set;}

     [StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Guid")]
     public virtual string   Guid { get; set;}

     [StringLength(200, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Observaciones")]
     public virtual string   Observaciones { get; set;}

     [Display(Name = "RequiereConfiguracion")]
     public virtual bool   RequiereConfiguracion { get; set;}

     [Display(Name = "EstadoEnum")]
     public virtual int?   EstadoEnum { get; set;}

     [Display(Name = "FechaAsignacion")]
     public virtual DateTime?   FechaAsignacion { get; set;}

     [Display(Name = "EsMantenible")]
     public virtual bool   EsMantenible { get; set;}

     //este campo no se guarda en la Base de datos, solo es para recibir un empleado a la hora de asignar equipo a un almacen
     public int EmpleadoId { get; set; }
     public string EmpleadoNombre { get; set; }


     public string NombreEquipo { get { return EquipoDisponible.NombreCompleto; } }

 }
}

